package it.azienda.moretti.utilita;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class EncodeMd5 {

    public static String encodeMd5(String word) {
        StringBuffer hexString = null;
        try {
            MessageDigest mdAlgorithm = MessageDigest.getInstance("MD5");
            mdAlgorithm.update(word.getBytes());

            byte[] digest = mdAlgorithm.digest();
            hexString = new StringBuffer();

            for (int i = 0; i < digest.length; i++) {
                word = Integer.toHexString(0xFF & digest[i]);

                if (word.length() < 2) {
                    word = "0" + word;
                }
                hexString.append(word);
            }

        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return hexString.toString();
    }

    public static String convertToHex(byte[] data) {
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < data.length; i++) {
            int halfbyte = (data[i] >>> 4) & 0x0F;
            int two_halfs = 0;
            do {
                if ((0 <= halfbyte) && (halfbyte <= 9)) {
                    buf.append((char) ('0' + halfbyte));
                } else {
                    buf.append((char) ('a' + (halfbyte - 10)));
                }
                halfbyte = data[i] & 0x0F;
            } while (two_halfs++ < 1);
        }
        return buf.toString();
    }
}
